Some Limitations of

contains some builtin limitations, some obvious, others less so.

Parts of the following list are most useful to budding programmers, though casual users may wish to read it to learn whether an error message produced by somebody else's file is very serious or not.

  1. All valid numbers are strictly less than 4096.

  2. The {\mfsl META}{\mfsl FONT\/}book, in `Appendix F: Font Metric Information', warns of one limitation that I've met when processing some fonts.

    `At most 15 different nonzero heights, 15 different nonzero depths, and 63 different nonzero italic corrections7may appear in a single font. if these limits are exceeded, will change one or more values, by as little as possible, until the restriction holds. A warning message is issued if such changes are necessary; for example

    (some charht values had to be adjusted by as much as 0.12pt)

    means that you had too many different nonzero heights, but found a way to reduce the number to at most 15 by changing some of them; none of them had to be changed by more than 0.12 points. No warning is actually given unless the maximum amount of perturbation exceeds ${\frac{{1}}{{16}}}$ pt.'

    Every correct implementation of will adjust character box dimensions by the same amount, giving the same TFM files, so we ignore small perturbations in other people's fonts. When designing your own fonts, however, I think it's courteous to keep within the limits, so as not to worry inexperienced users.

  3. In the addto picture command, withweight only accepts values that round to -3, -2, -1, +1, +2, or +3. To obtain other pixel weights, you can apply further addto commands.

  4. The memory size of the version of you use is an evident, implementation dependent restriction, but it may be, as in TEX, that memory is not enough simply because, if you'll pardon my saying so, some of your coding may be seriously inefficient or logically invalid.